package com.ruoyi.web.controller.glzz.ownSetPdf;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPTable;
import org.apache.commons.lang3.StringUtils;

/**
 * @author linhx
 * @version 1.0
 * @descriptio pdf生成工具
 * @date 2021/10/11 14:20
 */
public class TestTableUtils {

    /**
     * 单位代发工资回单
     * @param table
     * @param data
     * @return
     */
    public static PdfPTable createReceiptTable(PdfPTable table, TestData data) {
        return table01(table, data);
    }

    /**
     * 单位代发工资回单
     *
     * @param table
     * @param data
     */
    private static PdfPTable table01(PdfPTable table, TestData data) {
        table.addCell(PdfReportUtils.createCell("", headfont, Element.ALIGN_CENTER, 5, false));
        table.addCell(PdfReportUtils.createCell("", headfont, Element.ALIGN_CENTER, 5, false));
        table.addCell(PdfReportUtils.createCell("", headfont, Element.ALIGN_CENTER, 5, false));
        table.addCell(PdfReportUtils.createCell("账号:", keyfont, Element.ALIGN_RIGHT,1,false));
        table.addCell(PdfReportUtils.createCell("9010212030010000000000", textfont, Element.ALIGN_LEFT,1,false));
        table.addCell(PdfReportUtils.createCell("户名:", keyfont, Element.ALIGN_RIGHT,1,false));
        table.addCell(PdfReportUtils.createCell("福建某某科技有限公司", textfont, Element.ALIGN_LEFT,2,false));
        table.addCell(PdfReportUtils.createCell("币种:", keyfont, Element.ALIGN_RIGHT,1,false));
        table.addCell(PdfReportUtils.createCell("人民币", textfont, Element.ALIGN_LEFT,1,false));
        table.addCell(PdfReportUtils.createCell("开户行:", keyfont, Element.ALIGN_RIGHT,1,false));
        table.addCell(PdfReportUtils.createCell("福建XX银行股份有限公司东街支行", textfont, Element.ALIGN_LEFT,2,false));
        table.addCell(PdfReportUtils.createCell("查询日期:", keyfont, Element.ALIGN_RIGHT,1,false));
        table.addCell(PdfReportUtils.createCell("2022-03-28", textfont, Element.ALIGN_LEFT,1,false));

        table.addCell(PdfReportUtils.createCell("", headfont, Element.ALIGN_CENTER, 5, false));
        table.addCell(PdfReportUtils.createCell("交易日期", keyfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell("摘要", keyfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell("交易金额", keyfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell("收款账号", keyfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell("收款户名", keyfont, Element.ALIGN_CENTER));

        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC1()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC2()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC3()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC4()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC5()), textfont, Element.ALIGN_CENTER));

        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC1()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC2()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC3()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC4()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty("王老虎"), textfont, Element.ALIGN_CENTER));

        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC1()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC2()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC3()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC4()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC5()), textfont, Element.ALIGN_CENTER));

        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC1()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC2()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC3()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC4()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC5()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC1()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC2()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC3()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC4()), textfont, Element.ALIGN_CENTER));
        table.addCell(PdfReportUtils.createCell(StringUtils.trimToEmpty(data.getC5()), textfont, Element.ALIGN_CENTER));
        return table;
    }


    // 定义全局的字体静态变量
    private static Font titlefont;
    private static Font headfont;
    private static Font keyfont;
    private static Font textfont;
    // 最大宽度
    private static int maxWidth = 520;

    // 静态代码块
    static {
        try {
            // 不同字体（这里定义为同一种字体：包含不同字号、不同style）
            BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            titlefont = new Font(bfChinese, 16, java.awt.Font.BOLD);
            headfont = new Font(bfChinese, 14, java.awt.Font.BOLD);
            keyfont = new Font(bfChinese, 12, java.awt.Font.BOLD);
            textfont = new Font(bfChinese, 12, Font.NORMAL);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
